From b80cdca4e07881b158b635b287f4f5698ed58889 Mon Sep 17 00:00:00 2001 From: "mafetter@fleming.research" Date: Mon, 14 Feb 2005 12:07:59 +0000 Subject: [PATCH] bitkeeper revision 1.1196.1.1 (4210949fd4uhxJmk2kIDASV8WbY-4w) Minor shadow mode cleanups. Signed-off-by: michael.fetterman@cl.cam.ac.uk --- xen/arch/x86/shadow.c | 20 ++++++++++---------- xen/arch/x86/traps.c | 6 +++--- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/xen/arch/x86/shadow.c b/xen/arch/x86/shadow.c index 1fc3a25400..d91804c752 100644 --- a/xen/arch/x86/shadow.c +++ b/xen/arch/x86/shadow.c @@ -512,8 +512,8 @@ static void shadow_map_l1_into_current_l2(unsigned long va) { struct exec_domain *ed = current; struct domain *d = ed->domain; - unsigned long *gpl1e, *spl1e, gl2e, sl2e, gl1pfn, sl1pfn=0, sl1ss; - struct pfn_info *sl1pfn_info; + unsigned long *gpl1e, *spl1e, gl2e, sl2e, gl1pfn, sl1mfn, sl1ss; + struct pfn_info *sl1mfn_info; int i; __guest_get_l2e(ed, va, &gl2e); @@ -526,17 +526,17 @@ static void shadow_map_l1_into_current_l2(unsigned long va) /* This L1 is NOT already shadowed so we need to shadow it. */ SH_VVLOG("4a: l1 not shadowed ( %p )", sl1pfn); - sl1pfn_info = alloc_shadow_page(d); - sl1pfn_info->u.inuse.type_info = PGT_l1_page_table; + sl1mfn_info = alloc_shadow_page(d); + sl1mfn_info->u.inuse.type_info = PGT_l1_page_table; - sl1pfn = sl1pfn_info - frame_table; + sl1mfn = sl1mfn_info - frame_table; perfc_incrc(shadow_l1_table_count); perfc_incr(shadow_l1_pages); - set_shadow_status(d, gl1pfn, PSH_shadowed | sl1pfn); + set_shadow_status(d, gl1pfn, PSH_shadowed | sl1mfn); - l2pde_general(d, &gl2e, &sl2e, sl1pfn); + l2pde_general(d, &gl2e, &sl2e, sl1mfn); __guest_set_l2e(ed, va, gl2e); __shadow_set_l2e(ed, va, sl2e); @@ -553,10 +553,10 @@ static void shadow_map_l1_into_current_l2(unsigned long va) else { /* This L1 is shadowed already, but the L2 entry is missing. */ - SH_VVLOG("4b: was shadowed, l2 missing ( %p )", sl1pfn); + SH_VVLOG("4b: was shadowed, l2 missing ( %p )", sl1ss); - sl1pfn = sl1ss & PSH_pfn_mask; - l2pde_general(d, &gl2e, &sl2e, sl1pfn); + sl1mfn = sl1ss & PSH_pfn_mask; + l2pde_general(d, &gl2e, &sl2e, sl1mfn); __guest_set_l2e(ed, va, gl2e); __shadow_set_l2e(ed, va, sl2e); } diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c index cd587194b7..ab0ef0960f 100644 --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -286,7 +286,7 @@ asmlinkage int do_page_fault(struct xen_regs *regs) ((regs->error_code & 3) == 3) && /* write-protection fault */ ptwr_do_page_fault(addr) ) { - if ( unlikely(d->arch.shadow_mode) ) + if ( unlikely(shadow_mode(d)) ) (void)shadow_fault(addr, regs->error_code); UNLOCK_BIGLOCK(d); return EXCRET_fault_fixed; @@ -294,7 +294,7 @@ asmlinkage int do_page_fault(struct xen_regs *regs) UNLOCK_BIGLOCK(d); } - if ( unlikely(d->arch.shadow_mode) && + if ( unlikely(shadow_mode(d)) && (addr < PAGE_OFFSET) && shadow_fault(addr, regs->error_code) ) return EXCRET_fault_fixed; @@ -330,7 +330,7 @@ asmlinkage int do_page_fault(struct xen_regs *regs) if ( likely((fixup = search_exception_table(regs->eip)) != 0) ) { perfc_incrc(copy_user_faults); - if ( !d->arch.shadow_mode ) + if ( !shadow_mode(d) ) DPRINTK("Page fault: %p -> %p\n", regs->eip, fixup); regs->eip = fixup; return 0; -- 2.30.2